﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000AEF RID: 2799
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Material : IMessage<Material>, IMessage, IEquatable<Material>, IDeepCloneable<Material>, IBufferMessage
	{
		// Token: 0x17002354 RID: 9044
		// (get) Token: 0x06007D47 RID: 32071 RVA: 0x0014E530 File Offset: 0x0014C730
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Material> Parser
		{
			get
			{
				return Material._parser;
			}
		}

		// Token: 0x17002355 RID: 9045
		// (get) Token: 0x06007D48 RID: 32072 RVA: 0x0014E537 File Offset: 0x0014C737
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MaterialReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002356 RID: 9046
		// (get) Token: 0x06007D49 RID: 32073 RVA: 0x0014E549 File Offset: 0x0014C749
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Material.Descriptor;
			}
		}

		// Token: 0x06007D4A RID: 32074 RVA: 0x0014E550 File Offset: 0x0014C750
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Material()
		{
		}

		// Token: 0x06007D4B RID: 32075 RVA: 0x0014E558 File Offset: 0x0014C758
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Material(Material other) : this()
		{
			this.tid_ = other.tid_;
			this.expireTime_ = other.expireTime_;
			this.num_ = other.num_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06007D4C RID: 32076 RVA: 0x0014E595 File Offset: 0x0014C795
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Material Clone()
		{
			return new Material(this);
		}

		// Token: 0x17002357 RID: 9047
		// (get) Token: 0x06007D4D RID: 32077 RVA: 0x0014E59D File Offset: 0x0014C79D
		// (set) Token: 0x06007D4E RID: 32078 RVA: 0x0014E5A5 File Offset: 0x0014C7A5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Tid
		{
			get
			{
				return this.tid_;
			}
			set
			{
				this.tid_ = value;
			}
		}

		// Token: 0x17002358 RID: 9048
		// (get) Token: 0x06007D4F RID: 32079 RVA: 0x0014E5AE File Offset: 0x0014C7AE
		// (set) Token: 0x06007D50 RID: 32080 RVA: 0x0014E5B6 File Offset: 0x0014C7B6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ulong ExpireTime
		{
			get
			{
				return this.expireTime_;
			}
			set
			{
				this.expireTime_ = value;
			}
		}

		// Token: 0x17002359 RID: 9049
		// (get) Token: 0x06007D51 RID: 32081 RVA: 0x0014E5BF File Offset: 0x0014C7BF
		// (set) Token: 0x06007D52 RID: 32082 RVA: 0x0014E5C7 File Offset: 0x0014C7C7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Num
		{
			get
			{
				return this.num_;
			}
			set
			{
				this.num_ = value;
			}
		}

		// Token: 0x06007D53 RID: 32083 RVA: 0x0014E5D0 File Offset: 0x0014C7D0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Material);
		}

		// Token: 0x06007D54 RID: 32084 RVA: 0x0014E5E0 File Offset: 0x0014C7E0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Material other)
		{
			return other != null && (other == this || (this.Tid == other.Tid && this.ExpireTime == other.ExpireTime && this.Num == other.Num && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06007D55 RID: 32085 RVA: 0x0014E63C File Offset: 0x0014C83C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Tid != 0U)
			{
				num ^= this.Tid.GetHashCode();
			}
			if (this.ExpireTime != 0UL)
			{
				num ^= this.ExpireTime.GetHashCode();
			}
			if (this.Num != 0U)
			{
				num ^= this.Num.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06007D56 RID: 32086 RVA: 0x0014E6AD File Offset: 0x0014C8AD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06007D57 RID: 32087 RVA: 0x0014E6B5 File Offset: 0x0014C8B5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06007D58 RID: 32088 RVA: 0x0014E6C0 File Offset: 0x0014C8C0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Tid != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.Tid);
			}
			if (this.Num != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.Num);
			}
			if (this.ExpireTime != 0UL)
			{
				output.WriteRawTag(120);
				output.WriteUInt64(this.ExpireTime);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06007D59 RID: 32089 RVA: 0x0014E734 File Offset: 0x0014C934
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Tid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Tid);
			}
			if (this.ExpireTime != 0UL)
			{
				num += 1 + CodedOutputStream.ComputeUInt64Size(this.ExpireTime);
			}
			if (this.Num != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Num);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06007D5A RID: 32090 RVA: 0x0014E7A4 File Offset: 0x0014C9A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Material other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Tid != 0U)
			{
				this.Tid = other.Tid;
			}
			if (other.ExpireTime != 0UL)
			{
				this.ExpireTime = other.ExpireTime;
			}
			if (other.Num != 0U)
			{
				this.Num = other.Num;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06007D5B RID: 32091 RVA: 0x0014E808 File Offset: 0x0014CA08
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06007D5C RID: 32092 RVA: 0x0014E814 File Offset: 0x0014CA14
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 8U)
				{
					if (num != 96U)
					{
						if (num != 120U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.ExpireTime = input.ReadUInt64();
						}
					}
					else
					{
						this.Num = input.ReadUInt32();
					}
				}
				else
				{
					this.Tid = input.ReadUInt32();
				}
			}
		}

		// Token: 0x04002FDA RID: 12250
		private static readonly MessageParser<Material> _parser = new MessageParser<Material>(() => new Material());

		// Token: 0x04002FDB RID: 12251
		private UnknownFieldSet _unknownFields;

		// Token: 0x04002FDC RID: 12252
		public const int TidFieldNumber = 1;

		// Token: 0x04002FDD RID: 12253
		private uint tid_;

		// Token: 0x04002FDE RID: 12254
		public const int ExpireTimeFieldNumber = 15;

		// Token: 0x04002FDF RID: 12255
		private ulong expireTime_;

		// Token: 0x04002FE0 RID: 12256
		public const int NumFieldNumber = 12;

		// Token: 0x04002FE1 RID: 12257
		private uint num_;
	}
}
